//
//  AppDelegate.swift
//  SwiftVVBo
//
//  Created by hepeiyong on 16/8/9.
//  Copyright © 2016年 hpyhn. All rights reserved.
//

import Foundation


/*

    - 为什么使用readMe文件
        - 时间久远 你可能忘记了 如果一年半载你在需要在该项目添加功能或者修改功能  通过readMe文件可以教你快速回忆起项目
        - 如果你做的外包项目 
            - 哪些类是什么意思  一些主要功能点提示
        - 如果你在你上班的时候偷偷的面试去了 然后 你现在是15k 找到一个25k 着急飞
            - 项目交接 

        - 我 我会把一些主要的业务逻辑写在里面 知识点回顾 定义写在里面 便于你们课下复习

====================================================================
    - 第五天
        - 内容预告
            - VisitorView 中的按钮点击事件抛到控制器中
            - 学习单例
            - AFN网络封装
            - OAuth授权介绍
            - 微博开发者平台注册应用
            - 搭建OAuth界面
            - JS注入
            - 监听webView代理方法 截取授权码
            - 通过授权码获取accessToken
            - 通过accessToken 获取个人信息数据
            - ViewModel 抽取
            - 保存用户信息数据 使用归档和解档

        - 知识点讲解
            - OAuth授权
                - open auth  开发的授权

            - 登录&注册界面  
                - 用户名和密码  正确的话   登录成功
                    - 服务器会返回来  或者userId
                    - 当你在请求数据的时候 可能需要userId (人的身份证)
                    - 关注医生  取消关注医生
                        - 我的id = 100
                        - 医生的id == 200
                    - 如果我想获取我关注医生的列表

            - OAuth授权流程介绍
                - 登录微博开发者平台 www.open.weibo.com
                - 注册账号 成功开发者(个人开发者, 公司开发者)
                - 注册应用 
                    - appKey
                    - appSecret
                - 设置回调页
                - 添加测试账号
                - 加载webView页面



====================================================================
    - 第四天 回顾
        - 项目部署到开源中国的码云
        - 按照码云的提示 生成公钥和私钥
        - 把公钥配置的码云中
        - 创建一个共有项目
        - git clone 当前项目克隆到本地
        - 添加忽略文件 一定要先添加
        - 创建项目 和项目相关设置
        - 确定项目文件夹
            - Model
            - View
                - Main
                - Home
                - Message
                - Discover
                - Profile
            - ViewModel 
            - Libs
            - Common
        - 添加子控制器
            - 抽取出一个添加子控制器的公共方法
            - 自定义tabBar (通过kvc 给系统的只读属性赋值)
            - 添加撰写按钮和遍历tabBar子控件设置frame
        - 抽取基类(HMVisitorVc)
        - 自定义VisitorView
            - 设置圆圈动画
            - 提供一个方法供外界调用 在不同的控制器中显示不同的icon和信息
            - 使用可选值 为nil 默认认为是首页 因为首页还要设置圆圈动画
        - Swift中 代理和协议的使用


====================================================================
    - 第三天
        - 项目部署
            - 开源中国  git
            - 两种协议 
                    - HTTPS
                    - SSH


            - RSA秘钥对 - 它是一个非对称加密(加密效率极低)
                - 私钥 对项目加密
                - 公钥 对项目解密
            - 为什么对项目加密
                - 防止项目泄露


            - 加密过程
                - 创建一个私钥
                - 生成一个公钥 
                - 把公钥给服务器
                - 随机生成一个AES秘钥
                - 把AES 通过私钥加密后 通过网络给服务器
                - 通过AES给项目加密
                - 把加密后的项目给服务器
                - 服务器通过公钥把加密后的AES 解密
                - 服务器通过解密后的AES 把项目解密




ssh-keygen -t rsa -C "smile_faner@163.com"


































































































*/